<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>SoupURI</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
<link rel="home" href="index.html" title="libsoup Reference Manual">
<link rel="up" href="ch02.html" title="Core API">
<link rel="prev" href="libsoup-2.4-Top-Level-Domain-utils.html" title="Top Level Domain utils">
<link rel="next" href="ch03.html" title="Additional Features">
<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="p" href="libsoup-2.4-Top-Level-Domain-utils.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="ch02.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">libsoup Reference Manual</th>
<td><a accesskey="n" href="ch03.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts">
<a href="#SoupURI.synopsis" class="shortcut">Top</a>
                   | 
                  <a href="#SoupURI.description" class="shortcut">Description</a>
                   | 
                  <a href="#SoupURI.object-hierarchy" class="shortcut">Object Hierarchy</a>
</td></tr>
</table>
<div class="refentry">
<a name="SoupURI"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="SoupURI.top_of_page"></a>SoupURI</span></h2>
<p>SoupURI — URIs</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv">
<a name="SoupURI.synopsis"></a><h2>Synopsis</h2>
<pre class="synopsis">
#include &lt;libsoup/soup.h&gt;

                    <a class="link" href="SoupURI.html#SoupURI-struct" title="SoupURI">SoupURI</a>;
<a class="link" href="SoupURI.html" title="SoupURI"><span class="returnvalue">SoupURI</span></a> *           <a class="link" href="SoupURI.html#soup-uri-new-with-base" title="soup_uri_new_with_base ()">soup_uri_new_with_base</a>              (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *base</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *uri_string</code></em>);
<a class="link" href="SoupURI.html" title="SoupURI"><span class="returnvalue">SoupURI</span></a> *           <a class="link" href="SoupURI.html#soup-uri-new" title="soup_uri_new ()">soup_uri_new</a>                        (<em class="parameter"><code>const <span class="type">char</span> *uri_string</code></em>);
<span class="returnvalue">char</span> *              <a class="link" href="SoupURI.html#soup-uri-to-string" title="soup_uri_to_string ()">soup_uri_to_string</a>                  (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> just_path_and_query</code></em>);

<a class="link" href="SoupURI.html" title="SoupURI"><span class="returnvalue">SoupURI</span></a> *           <a class="link" href="SoupURI.html#soup-uri-copy" title="soup_uri_copy ()">soup_uri_copy</a>                       (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>);
<a class="link" href="SoupURI.html" title="SoupURI"><span class="returnvalue">SoupURI</span></a> *           <a class="link" href="SoupURI.html#soup-uri-copy-host" title="soup_uri_copy_host ()">soup_uri_copy_host</a>                  (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="SoupURI.html#soup-uri-equal" title="soup_uri_equal ()">soup_uri_equal</a>                      (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri1</code></em>,
                                                         <em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri2</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="SoupURI.html#soup-uri-host-equal" title="soup_uri_host_equal ()">soup_uri_host_equal</a>                 (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gconstpointer"><span class="type">gconstpointer</span></a> v1</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gconstpointer"><span class="type">gconstpointer</span></a> v2</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               <a class="link" href="SoupURI.html#soup-uri-host-hash" title="soup_uri_host_hash ()">soup_uri_host_hash</a>                  (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gconstpointer"><span class="type">gconstpointer</span></a> key</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="SoupURI.html#soup-uri-free" title="soup_uri_free ()">soup_uri_free</a>                       (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>);

<span class="returnvalue">char</span> *              <a class="link" href="SoupURI.html#soup-uri-encode" title="soup_uri_encode ()">soup_uri_encode</a>                     (<em class="parameter"><code>const <span class="type">char</span> *part</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *escape_extra</code></em>);
<span class="returnvalue">char</span> *              <a class="link" href="SoupURI.html#soup-uri-decode" title="soup_uri_decode ()">soup_uri_decode</a>                     (<em class="parameter"><code>const <span class="type">char</span> *part</code></em>);
<span class="returnvalue">char</span> *              <a class="link" href="SoupURI.html#soup-uri-normalize" title="soup_uri_normalize ()">soup_uri_normalize</a>                  (<em class="parameter"><code>const <span class="type">char</span> *part</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *unescape_extra</code></em>);

#define             <a class="link" href="SoupURI.html#SOUP-URI-SCHEME-HTTP:CAPS" title="SOUP_URI_SCHEME_HTTP">SOUP_URI_SCHEME_HTTP</a>
#define             <a class="link" href="SoupURI.html#SOUP-URI-SCHEME-HTTPS:CAPS" title="SOUP_URI_SCHEME_HTTPS">SOUP_URI_SCHEME_HTTPS</a>
#define             <a class="link" href="SoupURI.html#SOUP-URI-SCHEME-DATA:CAPS" title="SOUP_URI_SCHEME_DATA">SOUP_URI_SCHEME_DATA</a>
#define             <a class="link" href="SoupURI.html#SOUP-URI-SCHEME-FILE:CAPS" title="SOUP_URI_SCHEME_FILE">SOUP_URI_SCHEME_FILE</a>
#define             <a class="link" href="SoupURI.html#SOUP-URI-SCHEME-FTP:CAPS" title="SOUP_URI_SCHEME_FTP">SOUP_URI_SCHEME_FTP</a>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="SoupURI.html#soup-uri-uses-default-port" title="soup_uri_uses_default_port ()">soup_uri_uses_default_port</a>          (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>);
#define             <a class="link" href="SoupURI.html#SOUP-URI-IS-VALID:CAPS" title="SOUP_URI_IS_VALID()">SOUP_URI_IS_VALID</a>                   (uri)
#define             <a class="link" href="SoupURI.html#SOUP-URI-VALID-FOR-HTTP:CAPS" title="SOUP_URI_VALID_FOR_HTTP()">SOUP_URI_VALID_FOR_HTTP</a>             (uri)

<span class="returnvalue">void</span>                <a class="link" href="SoupURI.html#soup-uri-set-scheme" title="soup_uri_set_scheme ()">soup_uri_set_scheme</a>                 (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *scheme</code></em>);
const <span class="returnvalue">char</span> *        <a class="link" href="SoupURI.html#soup-uri-get-scheme" title="soup_uri_get_scheme ()">soup_uri_get_scheme</a>                 (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="SoupURI.html#soup-uri-set-user" title="soup_uri_set_user ()">soup_uri_set_user</a>                   (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *user</code></em>);
const <span class="returnvalue">char</span> *        <a class="link" href="SoupURI.html#soup-uri-get-user" title="soup_uri_get_user ()">soup_uri_get_user</a>                   (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="SoupURI.html#soup-uri-set-password" title="soup_uri_set_password ()">soup_uri_set_password</a>               (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *password</code></em>);
const <span class="returnvalue">char</span> *        <a class="link" href="SoupURI.html#soup-uri-get-password" title="soup_uri_get_password ()">soup_uri_get_password</a>               (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="SoupURI.html#soup-uri-set-host" title="soup_uri_set_host ()">soup_uri_set_host</a>                   (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *host</code></em>);
const <span class="returnvalue">char</span> *        <a class="link" href="SoupURI.html#soup-uri-get-host" title="soup_uri_get_host ()">soup_uri_get_host</a>                   (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="SoupURI.html#soup-uri-set-port" title="soup_uri_set_port ()">soup_uri_set_port</a>                   (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> port</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               <a class="link" href="SoupURI.html#soup-uri-get-port" title="soup_uri_get_port ()">soup_uri_get_port</a>                   (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="SoupURI.html#soup-uri-set-path" title="soup_uri_set_path ()">soup_uri_set_path</a>                   (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *path</code></em>);
const <span class="returnvalue">char</span> *        <a class="link" href="SoupURI.html#soup-uri-get-path" title="soup_uri_get_path ()">soup_uri_get_path</a>                   (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="SoupURI.html#soup-uri-set-query" title="soup_uri_set_query ()">soup_uri_set_query</a>                  (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *query</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="SoupURI.html#soup-uri-set-query-from-form" title="soup_uri_set_query_from_form ()">soup_uri_set_query_from_form</a>        (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> *form</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="SoupURI.html#soup-uri-set-query-from-fields" title="soup_uri_set_query_from_fields ()">soup_uri_set_query_from_fields</a>      (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *first_field</code></em>,
                                                         <em class="parameter"><code>...</code></em>);
const <span class="returnvalue">char</span> *        <a class="link" href="SoupURI.html#soup-uri-get-query" title="soup_uri_get_query ()">soup_uri_get_query</a>                  (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="SoupURI.html#soup-uri-set-fragment" title="soup_uri_set_fragment ()">soup_uri_set_fragment</a>               (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *fragment</code></em>);
const <span class="returnvalue">char</span> *        <a class="link" href="SoupURI.html#soup-uri-get-fragment" title="soup_uri_get_fragment ()">soup_uri_get_fragment</a>               (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>);
</pre>
</div>
<div class="refsect1">
<a name="SoupURI.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="synopsis">
  GBoxed
   +----SoupURI
</pre>
</div>
<div class="refsect1">
<a name="SoupURI.description"></a><h2>Description</h2>
<p>
A <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> represents a (parsed) URI.
</p>
<p>
Many applications will not need to use <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> directly at all; on
the client side, <a class="link" href="SoupMessage.html#soup-message-new" title="soup_message_new ()"><code class="function">soup_message_new()</code></a> takes a stringified URI, and on
the server side, the path and query components are provided for you
in the server callback.
</p>
</div>
<div class="refsect1">
<a name="SoupURI.details"></a><h2>Details</h2>
<div class="refsect2">
<a name="SoupURI-struct"></a><h3>SoupURI</h3>
<pre class="programlisting">typedef struct {
	const char *scheme;

	char       *user;
	char       *password;

	char       *host;
	guint       port;

	char       *path;
	char       *query;

	char       *fragment;
} SoupURI;
</pre>
<p>
A <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> represents a (parsed) URI. <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> supports RFC 3986
(URI Generic Syntax), and can parse any valid URI. However, libsoup
only uses "http" and "https" URIs internally; You can use
<a class="link" href="SoupURI.html#SOUP-URI-VALID-FOR-HTTP:CAPS" title="SOUP_URI_VALID_FOR_HTTP()"><code class="function">SOUP_URI_VALID_FOR_HTTP()</code></a> to test if a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> is a valid HTTP
URI.
</p>
<p>
<em class="parameter"><code>scheme</code></em> will always be set in any URI. It is an interned string and
is always all lowercase. (If you parse a URI with a non-lowercase
scheme, it will be converted to lowercase.) The macros
<a class="link" href="SoupURI.html#SOUP-URI-SCHEME-HTTP:CAPS" title="SOUP_URI_SCHEME_HTTP"><code class="literal">SOUP_URI_SCHEME_HTTP</code></a> and <a class="link" href="SoupURI.html#SOUP-URI-SCHEME-HTTPS:CAPS" title="SOUP_URI_SCHEME_HTTPS"><code class="literal">SOUP_URI_SCHEME_HTTPS</code></a> provide the
interned values for "http" and "https" and can be compared against
URI <em class="parameter"><code>scheme</code></em> values.
</p>
<p>
<em class="parameter"><code>user</code></em> and <em class="parameter"><code>password</code></em> are parsed as defined in the older URI specs
(ie, separated by a colon; RFC 3986 only talks about a single
"userinfo" field). Note that <em class="parameter"><code>password</code></em> is not included in the
output of <a class="link" href="SoupURI.html#soup-uri-to-string" title="soup_uri_to_string ()"><code class="function">soup_uri_to_string()</code></a>. libsoup does not normally use these
fields; authentication is handled via <a class="link" href="SoupSession.html" title="SoupSession"><span class="type">SoupSession</span></a> signals.
</p>
<p>
<em class="parameter"><code>host</code></em> contains the hostname, and <em class="parameter"><code>port</code></em> the port specified in the
URI. If the URI doesn't contain a hostname, <em class="parameter"><code>host</code></em> will be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>,
and if it doesn't specify a port, <em class="parameter"><code>port</code></em> may be 0. However, for
"http" and "https" URIs, <em class="parameter"><code>host</code></em> is guaranteed to be non-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
(trying to parse an http URI with no <em class="parameter"><code>host</code></em> will return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>), and
<em class="parameter"><code>port</code></em> will always be non-0 (because libsoup knows the default value
to use when it is not specified in the URI).
</p>
<p>
<em class="parameter"><code>path</code></em> is always non-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. For http/https URIs, <em class="parameter"><code>path</code></em> will never be
an empty string either; if the input URI has no path, the parsed
<a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> will have a <em class="parameter"><code>path</code></em> of "/".
</p>
<p>
<em class="parameter"><code>query</code></em> and <em class="parameter"><code>fragment</code></em> are optional for all URI types.
<a class="link" href="libsoup-2.4-HTML-Form-Support.html#soup-form-decode" title="soup_form_decode ()"><code class="function">soup_form_decode()</code></a> may be useful for parsing <em class="parameter"><code>query</code></em>.
</p>
<p>
Note that <em class="parameter"><code>path</code></em>, <em class="parameter"><code>query</code></em>, and <em class="parameter"><code>fragment</code></em> may contain
%-encoded characters. <a class="link" href="SoupURI.html#soup-uri-new" title="soup_uri_new ()"><code class="function">soup_uri_new()</code></a> calls
<a class="link" href="SoupURI.html#soup-uri-normalize" title="soup_uri_normalize ()"><code class="function">soup_uri_normalize()</code></a> on them, but not <a class="link" href="SoupURI.html#soup-uri-decode" title="soup_uri_decode ()"><code class="function">soup_uri_decode()</code></a>. This is
necessary to ensure that <a class="link" href="SoupURI.html#soup-uri-to-string" title="soup_uri_to_string ()"><code class="function">soup_uri_to_string()</code></a> will generate a URI
that has exactly the same meaning as the original. (In theory,
<a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> should leave <em class="parameter"><code>user</code></em>, <em class="parameter"><code>password</code></em>, and <em class="parameter"><code>host</code></em> partially-encoded
as well, but this would be more annoying than useful.)
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term">const <span class="type">char</span> *<em class="structfield"><code><a name="SoupURI-struct.scheme"></a>scheme</code></em>;</span></p></td>
<td>the URI scheme (eg, "http")</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">char</span> *<em class="structfield"><code><a name="SoupURI-struct.user"></a>user</code></em>;</span></p></td>
<td>a username, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">char</span> *<em class="structfield"><code><a name="SoupURI-struct.password"></a>password</code></em>;</span></p></td>
<td>a password, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">char</span> *<em class="structfield"><code><a name="SoupURI-struct.host"></a>host</code></em>;</span></p></td>
<td>the hostname or IP address</td>
</tr>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="SoupURI-struct.port"></a>port</code></em>;</span></p></td>
<td>the port number on <em class="parameter"><code>host</code></em>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">char</span> *<em class="structfield"><code><a name="SoupURI-struct.path"></a>path</code></em>;</span></p></td>
<td>the path on <em class="parameter"><code>host</code></em>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">char</span> *<em class="structfield"><code><a name="SoupURI-struct.query"></a>query</code></em>;</span></p></td>
<td>a query for <em class="parameter"><code>path</code></em>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">char</span> *<em class="structfield"><code><a name="SoupURI-struct.fragment"></a>fragment</code></em>;</span></p></td>
<td>a fragment identifier within <em class="parameter"><code>path</code></em>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-new-with-base"></a><h3>soup_uri_new_with_base ()</h3>
<pre class="programlisting"><a class="link" href="SoupURI.html" title="SoupURI"><span class="returnvalue">SoupURI</span></a> *           soup_uri_new_with_base              (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *base</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *uri_string</code></em>);</pre>
<p>
Parses <em class="parameter"><code>uri_string</code></em> relative to <em class="parameter"><code>base</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>base</code></em> :</span></p></td>
<td>a base URI</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>uri_string</code></em> :</span></p></td>
<td>the URI</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a parsed <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a>.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-new"></a><h3>soup_uri_new ()</h3>
<pre class="programlisting"><a class="link" href="SoupURI.html" title="SoupURI"><span class="returnvalue">SoupURI</span></a> *           soup_uri_new                        (<em class="parameter"><code>const <span class="type">char</span> *uri_string</code></em>);</pre>
<p>
Parses an absolute URI.
</p>
<p>
You can also pass <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for <em class="parameter"><code>uri_string</code></em> if you want to get back an
"empty" <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> that you can fill in by hand. (You will need to
call at least <a class="link" href="SoupURI.html#soup-uri-set-scheme" title="soup_uri_set_scheme ()"><code class="function">soup_uri_set_scheme()</code></a> and <a class="link" href="SoupURI.html#soup-uri-set-path" title="soup_uri_set_path ()"><code class="function">soup_uri_set_path()</code></a>, since
those fields are required.)
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>uri_string</code></em> :</span></p></td>
<td>a URI. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the given string was found to be
invalid.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-to-string"></a><h3>soup_uri_to_string ()</h3>
<pre class="programlisting"><span class="returnvalue">char</span> *              soup_uri_to_string                  (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> just_path_and_query</code></em>);</pre>
<p>
Returns a string representing <em class="parameter"><code>uri</code></em>.
</p>
<p>
If <em class="parameter"><code>just_path_and_query</code></em> is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, this concatenates the path and query
together. That is, it constructs the string that would be needed in
the Request-Line of an HTTP request for <em class="parameter"><code>uri</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
<td>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>just_path_and_query</code></em> :</span></p></td>
<td>if <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, output just the path and query portions</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a string representing <em class="parameter"><code>uri</code></em>, which the caller must free.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-copy"></a><h3>soup_uri_copy ()</h3>
<pre class="programlisting"><a class="link" href="SoupURI.html" title="SoupURI"><span class="returnvalue">SoupURI</span></a> *           soup_uri_copy                       (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>);</pre>
<p>
Copies <em class="parameter"><code>uri</code></em>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
<td>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a copy of <em class="parameter"><code>uri</code></em>, which must be freed with <a class="link" href="SoupURI.html#soup-uri-free" title="soup_uri_free ()"><code class="function">soup_uri_free()</code></a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-copy-host"></a><h3>soup_uri_copy_host ()</h3>
<pre class="programlisting"><a class="link" href="SoupURI.html" title="SoupURI"><span class="returnvalue">SoupURI</span></a> *           soup_uri_copy_host                  (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>);</pre>
<p>
Makes a copy of <em class="parameter"><code>uri</code></em>, considering only the protocol, host, and port
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
<td>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the new <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a>
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.26.3</p>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-equal"></a><h3>soup_uri_equal ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            soup_uri_equal                      (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri1</code></em>,
                                                         <em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri2</code></em>);</pre>
<p>
Tests whether or not <em class="parameter"><code>uri1</code></em> and <em class="parameter"><code>uri2</code></em> are equal in all parts
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>uri1</code></em> :</span></p></td>
<td>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>uri2</code></em> :</span></p></td>
<td>another <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-host-equal"></a><h3>soup_uri_host_equal ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            soup_uri_host_equal                 (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gconstpointer"><span class="type">gconstpointer</span></a> v1</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gconstpointer"><span class="type">gconstpointer</span></a> v2</code></em>);</pre>
<p>
Compares <em class="parameter"><code>v1</code></em> and <em class="parameter"><code>v2</code></em>, considering only the scheme, host, and port.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>v1</code></em> :</span></p></td>
<td>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> with a non-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> <em class="parameter"><code>host</code></em> member. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> Soup.URI]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>v2</code></em> :</span></p></td>
<td>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> with a non-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> <em class="parameter"><code>host</code></em> member. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> Soup.URI]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>whether or not the URIs are equal in scheme, host,
and port.</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.26.3</p>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-host-hash"></a><h3>soup_uri_host_hash ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               soup_uri_host_hash                  (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gconstpointer"><span class="type">gconstpointer</span></a> key</code></em>);</pre>
<p>
Hashes <em class="parameter"><code>key</code></em>, considering only the scheme, host, and port.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
<td>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> with a non-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> <em class="parameter"><code>host</code></em> member. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> Soup.URI]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a hash</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.26.3</p>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-free"></a><h3>soup_uri_free ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                soup_uri_free                       (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>);</pre>
<p>
Frees <em class="parameter"><code>uri</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
<td>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-encode"></a><h3>soup_uri_encode ()</h3>
<pre class="programlisting"><span class="returnvalue">char</span> *              soup_uri_encode                     (<em class="parameter"><code>const <span class="type">char</span> *part</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *escape_extra</code></em>);</pre>
<p>
This %-encodes the given URI part and returns the escaped
version in allocated memory, which the caller must free when it is
done.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>part</code></em> :</span></p></td>
<td>a URI part</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>escape_extra</code></em> :</span></p></td>
<td>additional reserved characters to
escape (or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>). <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the encoded URI part</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-decode"></a><h3>soup_uri_decode ()</h3>
<pre class="programlisting"><span class="returnvalue">char</span> *              soup_uri_decode                     (<em class="parameter"><code>const <span class="type">char</span> *part</code></em>);</pre>
<p>
Fully %-decodes <em class="parameter"><code>part</code></em>.
</p>
<p>
In the past, this would return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>part</code></em> contained invalid
percent-encoding, but now it just ignores the problem (as
<a class="link" href="SoupURI.html#soup-uri-new" title="soup_uri_new ()"><code class="function">soup_uri_new()</code></a> already did).
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>part</code></em> :</span></p></td>
<td>a URI part</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the decoded URI part.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-normalize"></a><h3>soup_uri_normalize ()</h3>
<pre class="programlisting"><span class="returnvalue">char</span> *              soup_uri_normalize                  (<em class="parameter"><code>const <span class="type">char</span> *part</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *unescape_extra</code></em>);</pre>
<p>
%-decodes any "unreserved" characters (or characters in
<em class="parameter"><code>unescape_extra</code></em>) in <em class="parameter"><code>part</code></em>.
</p>
<p>
"Unreserved" characters are those that are not allowed to be used
for punctuation according to the URI spec. For example, letters are
unreserved, so <a class="link" href="SoupURI.html#soup-uri-normalize" title="soup_uri_normalize ()"><code class="function">soup_uri_normalize()</code></a> will turn
<code class="literal">http://example.com/foo/b%61r</code> into
<code class="literal">http://example.com/foo/bar</code>, which is guaranteed
to mean the same thing. However, "/" is "reserved", so
<code class="literal">http://example.com/foo%2Fbar</code> would not
be changed, because it might mean something different to the
server.
</p>
<p>
In the past, this would return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>part</code></em> contained invalid
percent-encoding, but now it just ignores the problem (as
<a class="link" href="SoupURI.html#soup-uri-new" title="soup_uri_new ()"><code class="function">soup_uri_new()</code></a> already did).
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>part</code></em> :</span></p></td>
<td>a URI part</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>unescape_extra</code></em> :</span></p></td>
<td>reserved characters to unescape (or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>)</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the normalized URI part</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="SOUP-URI-SCHEME-HTTP:CAPS"></a><h3>SOUP_URI_SCHEME_HTTP</h3>
<pre class="programlisting">#define SOUP_URI_SCHEME_HTTP  _SOUP_ATOMIC_INTERN_STRING (_SOUP_URI_SCHEME_HTTP, "http")
</pre>
<p>
"http" as an interned string. This can be compared directly against
the value of a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a>'s <em class="structfield"><code>scheme</code></em>
</p>
</div>
<hr>
<div class="refsect2">
<a name="SOUP-URI-SCHEME-HTTPS:CAPS"></a><h3>SOUP_URI_SCHEME_HTTPS</h3>
<pre class="programlisting">#define SOUP_URI_SCHEME_HTTPS _SOUP_ATOMIC_INTERN_STRING (_SOUP_URI_SCHEME_HTTPS, "https")
</pre>
<p>
"https" as an interned string. This can be compared directly
against the value of a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a>'s <em class="structfield"><code>scheme</code></em>
</p>
</div>
<hr>
<div class="refsect2">
<a name="SOUP-URI-SCHEME-DATA:CAPS"></a><h3>SOUP_URI_SCHEME_DATA</h3>
<pre class="programlisting">#define SOUP_URI_SCHEME_DATA  _SOUP_ATOMIC_INTERN_STRING (_SOUP_URI_SCHEME_DATA, "data")
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2">
<a name="SOUP-URI-SCHEME-FILE:CAPS"></a><h3>SOUP_URI_SCHEME_FILE</h3>
<pre class="programlisting">#define SOUP_URI_SCHEME_FILE  _SOUP_ATOMIC_INTERN_STRING (_SOUP_URI_SCHEME_FILE, "file")
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2">
<a name="SOUP-URI-SCHEME-FTP:CAPS"></a><h3>SOUP_URI_SCHEME_FTP</h3>
<pre class="programlisting">#define SOUP_URI_SCHEME_FTP   _SOUP_ATOMIC_INTERN_STRING (_SOUP_URI_SCHEME_FTP, "ftp")
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-uses-default-port"></a><h3>soup_uri_uses_default_port ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            soup_uri_uses_default_port          (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>);</pre>
<p>
Tests if <em class="parameter"><code>uri</code></em> uses the default port for its scheme. (Eg, 80 for
http.) (This only works for http, https and ftp; libsoup does not know
the default ports of other protocols.)
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
<td>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="SOUP-URI-IS-VALID:CAPS"></a><h3>SOUP_URI_IS_VALID()</h3>
<pre class="programlisting">#define   SOUP_URI_IS_VALID(uri)       ((uri) &amp;&amp; (uri)-&gt;scheme &amp;&amp; (uri)-&gt;path)
</pre>
<p>
Tests whether <em class="parameter"><code>uri</code></em> is a valid <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a>; that is, that it is non-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
and its <em class="parameter"><code>scheme</code></em> and <em class="parameter"><code>path</code></em> members are also non-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
</p>
<p>
This macro does not check whether http and https URIs have a non-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
<em class="parameter"><code>host</code></em> member.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
<td>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>uri</code></em> is valid for use.</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.38</p>
</div>
<hr>
<div class="refsect2">
<a name="SOUP-URI-VALID-FOR-HTTP:CAPS"></a><h3>SOUP_URI_VALID_FOR_HTTP()</h3>
<pre class="programlisting">#define   SOUP_URI_VALID_FOR_HTTP(uri) ((uri) &amp;&amp; ((uri)-&gt;scheme == SOUP_URI_SCHEME_HTTP || (uri)-&gt;scheme == SOUP_URI_SCHEME_HTTPS) &amp;&amp; (uri)-&gt;host &amp;&amp; (uri)-&gt;path)
</pre>
<p>
Tests if <em class="parameter"><code>uri</code></em> is a valid <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> for HTTP communication; that is, if
it can be used to construct a <a class="link" href="SoupMessage.html" title="SoupMessage"><span class="type">SoupMessage</span></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
<td>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>uri</code></em> is a valid "http" or "https" URI.</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.24</p>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-set-scheme"></a><h3>soup_uri_set_scheme ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                soup_uri_set_scheme                 (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *scheme</code></em>);</pre>
<p>
Sets <em class="parameter"><code>uri</code></em>'s scheme to <em class="parameter"><code>scheme</code></em>. This will also set <em class="parameter"><code>uri</code></em>'s port to
the default port for <em class="parameter"><code>scheme</code></em>, if known.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
<td>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>scheme</code></em> :</span></p></td>
<td>the URI scheme</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-get-scheme"></a><h3>soup_uri_get_scheme ()</h3>
<pre class="programlisting">const <span class="returnvalue">char</span> *        soup_uri_get_scheme                 (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>);</pre>
<p>
Gets <em class="parameter"><code>uri</code></em>'s scheme.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
<td>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<em class="parameter"><code>uri</code></em>'s scheme.</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.32</p>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-set-user"></a><h3>soup_uri_set_user ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                soup_uri_set_user                   (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *user</code></em>);</pre>
<p>
Sets <em class="parameter"><code>uri</code></em>'s user to <em class="parameter"><code>user</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
<td>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user</code></em> :</span></p></td>
<td>the username, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-get-user"></a><h3>soup_uri_get_user ()</h3>
<pre class="programlisting">const <span class="returnvalue">char</span> *        soup_uri_get_user                   (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>);</pre>
<p>
Gets <em class="parameter"><code>uri</code></em>'s user.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
<td>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<em class="parameter"><code>uri</code></em>'s user.</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.32</p>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-set-password"></a><h3>soup_uri_set_password ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                soup_uri_set_password               (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *password</code></em>);</pre>
<p>
Sets <em class="parameter"><code>uri</code></em>'s password to <em class="parameter"><code>password</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
<td>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>password</code></em> :</span></p></td>
<td>the password, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-get-password"></a><h3>soup_uri_get_password ()</h3>
<pre class="programlisting">const <span class="returnvalue">char</span> *        soup_uri_get_password               (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>);</pre>
<p>
Gets <em class="parameter"><code>uri</code></em>'s password.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
<td>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<em class="parameter"><code>uri</code></em>'s password.</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.32</p>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-set-host"></a><h3>soup_uri_set_host ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                soup_uri_set_host                   (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *host</code></em>);</pre>
<p>
Sets <em class="parameter"><code>uri</code></em>'s host to <em class="parameter"><code>host</code></em>.
</p>
<p>
If <em class="parameter"><code>host</code></em> is an IPv6 IP address, it should not include the brackets
required by the URI syntax; they will be added automatically when
converting <em class="parameter"><code>uri</code></em> to a string.
</p>
<p>
http and https URIs should not have a <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> <em class="parameter"><code>host</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
<td>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>host</code></em> :</span></p></td>
<td>the hostname or IP address, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-get-host"></a><h3>soup_uri_get_host ()</h3>
<pre class="programlisting">const <span class="returnvalue">char</span> *        soup_uri_get_host                   (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>);</pre>
<p>
Gets <em class="parameter"><code>uri</code></em>'s host.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
<td>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<em class="parameter"><code>uri</code></em>'s host.</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.32</p>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-set-port"></a><h3>soup_uri_set_port ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                soup_uri_set_port                   (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> port</code></em>);</pre>
<p>
Sets <em class="parameter"><code>uri</code></em>'s port to <em class="parameter"><code>port</code></em>. If <em class="parameter"><code>port</code></em> is 0, <em class="parameter"><code>uri</code></em> will not have an
explicitly-specified port.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
<td>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>port</code></em> :</span></p></td>
<td>the port, or 0</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-get-port"></a><h3>soup_uri_get_port ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>               soup_uri_get_port                   (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>);</pre>
<p>
Gets <em class="parameter"><code>uri</code></em>'s port.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
<td>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<em class="parameter"><code>uri</code></em>'s port.</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.32</p>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-set-path"></a><h3>soup_uri_set_path ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                soup_uri_set_path                   (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *path</code></em>);</pre>
<p>
Sets <em class="parameter"><code>uri</code></em>'s path to <em class="parameter"><code>path</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
<td>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>path</code></em> :</span></p></td>
<td>the non-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> path</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-get-path"></a><h3>soup_uri_get_path ()</h3>
<pre class="programlisting">const <span class="returnvalue">char</span> *        soup_uri_get_path                   (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>);</pre>
<p>
Gets <em class="parameter"><code>uri</code></em>'s path.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
<td>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<em class="parameter"><code>uri</code></em>'s path.</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.32</p>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-set-query"></a><h3>soup_uri_set_query ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                soup_uri_set_query                  (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *query</code></em>);</pre>
<p>
Sets <em class="parameter"><code>uri</code></em>'s query to <em class="parameter"><code>query</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
<td>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>query</code></em> :</span></p></td>
<td>the query. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-set-query-from-form"></a><h3>soup_uri_set_query_from_form ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                soup_uri_set_query_from_form        (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> *form</code></em>);</pre>
<p>
Sets <em class="parameter"><code>uri</code></em>'s query to the result of encoding <em class="parameter"><code>form</code></em> according to the
HTML form rules. See <a class="link" href="libsoup-2.4-HTML-Form-Support.html#soup-form-encode-hash" title="soup_form_encode_hash ()"><code class="function">soup_form_encode_hash()</code></a> for more information.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
<td>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>form</code></em> :</span></p></td>
<td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> containing HTML form
information. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8 utf8]</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-set-query-from-fields"></a><h3>soup_uri_set_query_from_fields ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                soup_uri_set_query_from_fields      (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *first_field</code></em>,
                                                         <em class="parameter"><code>...</code></em>);</pre>
<p>
Sets <em class="parameter"><code>uri</code></em>'s query to the result of encoding the given form fields
and values according to the * HTML form rules. See
<a class="link" href="libsoup-2.4-HTML-Form-Support.html#soup-form-encode" title="soup_form_encode ()"><code class="function">soup_form_encode()</code></a> for more information.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
<td>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>first_field</code></em> :</span></p></td>
<td>name of the first form field to encode into query</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>...</code></em> :</span></p></td>
<td>value of <em class="parameter"><code>first_field</code></em>, followed by additional field names
and values, terminated by <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-get-query"></a><h3>soup_uri_get_query ()</h3>
<pre class="programlisting">const <span class="returnvalue">char</span> *        soup_uri_get_query                  (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>);</pre>
<p>
Gets <em class="parameter"><code>uri</code></em>'s query.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
<td>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<em class="parameter"><code>uri</code></em>'s query.</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.32</p>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-set-fragment"></a><h3>soup_uri_set_fragment ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                soup_uri_set_fragment               (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *fragment</code></em>);</pre>
<p>
Sets <em class="parameter"><code>uri</code></em>'s fragment to <em class="parameter"><code>fragment</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
<td>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>fragment</code></em> :</span></p></td>
<td>the fragment. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="soup-uri-get-fragment"></a><h3>soup_uri_get_fragment ()</h3>
<pre class="programlisting">const <span class="returnvalue">char</span> *        soup_uri_get_fragment               (<em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>);</pre>
<p>
Gets <em class="parameter"><code>uri</code></em>'s fragment.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
<td>a <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<em class="parameter"><code>uri</code></em>'s fragment.</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.32</p>
</div>
</div>
</div>
<div class="footer">
<hr>
          Generated by GTK-Doc V1.18</div>
</body>
</html>